package com.ranyk.www.exception.base;

import java.io.Serial;

/**
 * CLASS_NAME: BaseException.java <br/>
 *
 * @author ranyk           <br/>
 * @version V1.0           <br/>
 * @decription: 基础异常对象  <br/>
 * @date: 2022-04-01 <br/>
 */
@SuppressWarnings("unused")
public class BaseException extends RuntimeException {

    @Serial
    private static final long serialVersionUID = -1392419397083186354L;

    /**
     * 无参构造函数
     */
    public BaseException() {
        super();
    }

    /**
     * 传入 Throwable 对象参数构造函数
     *
     * @param cause Throwable 对象
     */
    public BaseException(Throwable cause) {
        super(cause);
    }

    /**
     * 传入异常信息参数构造函数
     *
     * @param message 异常信息
     */
    public BaseException(String message) {
        super(message);
    }

    /**
     * 传入异常信息、Throwable对象参数构造函数
     *
     * @param message 异常信息
     * @param cause   Throwable 对象
     */
    public BaseException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * 使用指定的详细消息、原因、启用或禁用抑制以及启用或禁用可写堆栈跟踪构造一个新的运行时异常
     *
     * @param message            详细信息
     * @param cause              原因
     * @param enableSuppression  是否启用或禁用抑制
     * @param writableStackTrace 堆栈跟踪是否应该是可写的
     */
    public BaseException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
    }
}
